package com.hainingtong.core.shiro.token;


import lombok.Data;
import org.apache.shiro.authc.AuthenticationToken;

@Data
public class BaseToken implements AuthenticationToken {
    // 取这2个名字还可以省去接口的2个实现方法
    String principal;
    String credentials;
    LoginType loginType;

    /**
     * 基类和子类的构造方法都不设置为public，默认只能在当前包里面使用，
     * 强制只能通过 TokenUtil里面的createToken方法提供给其他包创建各种类型的Token
     * @param principal
     * @param credentials
     * @param loginType
     */
    BaseToken(String principal, String credentials, LoginType loginType) {
        this.principal = principal;
        this.credentials = credentials;
        this.loginType = loginType;
    }

}
